#ifndef		GUI__Mouse_h
#define		GUI__Mouse_h

#include	"IControl.h"
#include	<Math/Vector.h>
#include	<string>

class Window;
class Texture;

class Mouse : public IControl
{
public:
	Mouse(
		Window * window,
		const std::string & texture,
		bool visible = true,
		const Vector2i & windowSize = Vector2i(800, 600)
		);
	virtual ~Mouse();
	virtual void update(double delay = 0.0);
	virtual void render() const;
public:
//	const Vector2i & getPosition() const;
	Vector2i getPosition() const;
	bool getVisible() const;
	void setVisible(bool visible);
	const Vector2i & getWindowSize() const;
private:
	Window * m_window;
	Texture * m_texture;
	Vector2i m_windowSize;
	Vector2i m_hitPoint;
//	Vector2i m_position;
	bool m_visible;
};

#endif	//	GUI__Mouse_h

